package io.alvin.jframework.plugin.security;

import java.util.Set;

/**
 * Security接口
 * 可在应用中实现该接口，或者在security.properties文件中提供基于SQL的配置项
 *
 * Created by Alvin on 2017/7/15.
 */
public interface Security {
    /**
     * 根据用户名获取密码
     * @param username
     * @return
     */
    String getPassword(String username);

    /**
     * 根据用户名获取角色名集合
     * @param username
     * @return
     */
    Set<String> getRoleNameSet(String username);

    /**
     * 根据角色名获取权限名集合
     * @param roleName
     * @return
     */
    Set<String> getPermissionNameSet(String roleName);
}
